#pragma once

#include <d3dx10math.h>

#define NUM_PLANES 6
namespace Graphics
{
class Frustum
{
public:
	Frustum(void);

	virtual ~Frustum(void);

	void ConstructFrustum(float screenDepth, D3DXMATRIX projectionMatrix, D3DXMATRIX viewMatrix);

	bool CheckPoint(float x, float y, float z);
	bool CheckCube(float xCenter, float yCenter, float zCenter, float radius);
	bool CheckSphere(float xCenter, float yCenter, float zCenter, float radius);
	bool CheckRectangle(float xCenter, float yCenter, float zCenter, float xSize, float ySize, float zSize);

private:
	D3DXPLANE mPlanes[NUM_PLANES];
};
}